import socket

# 创建一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定IP地址和端口
s.bind(('127.0.0.1', 8080))

# 监听连接
s.listen(5)

# 等待客户端连接
while True:
    # 接受客户端连接
    # accept()方法返回一个元组，包含客户端的连接对象和客户端的地址, 地址是一个元组，包含客户端的IP地址和端口号, 如：('127.0.0.1', 54321)
    conn, addr = s.accept()
    print('连接地址:', addr)

    try:
        while True:
            # 接收客户端数据
            data = conn.recv(1024)
            if not data:
                break
            print('接收到数据:', data.decode('utf-8'))

            # 发送数据给客户端
            conn.send(b'Hello, client!')
    except Exception as e:
        print('异常:', e)
    finally:
        # 关闭连接
        conn.close()